package timing.ukulele.third.model.weixin;

import com.alibaba.fastjson2.JSONObject;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 自定义菜单模型
 */
@Data
public class MenuButton implements Serializable {

    private Long id;

    /**
     * 菜单KEY值，用于消息接口推送，不超过128字节。click等点击类型必须。
     */
    private String key;

    /**
     * 菜单类型：click、view、miniprogram、scancode_push、scancode_waitmsg、pic_sysphoto、pic_photo_or_album、pic_weixin、location_select、media_id、view_limited等
     */
	private String type;
    /**
     * 名称
     */
	private String name;
    /**
     * 网页链接，用户点击菜单可打开链接，不超过1024字节。 type为miniprogram时，不支持小程序的老版本客户端将打开本url。view、miniprogram类型必填
     */
	private String url;
    /**
     * 调用新增永久素材接口返回的合法media_id。media_id类型和view_limited类型必须
     */
	private String media_id;
    /**
     * 小程序的appid（仅认证公众号可配置），miniprogram类型必须
     */
    private String appid;
    /**
     * 小程序的页面路径，miniprogram类型必须
     */
	private String pagepath;
    /**
     * 发布后获得的合法 article_id，article_id类型和article_view_limited类型必须
     */
    private String article_id;
    /**
     * 子集
     */
    private List<MenuButton> sub_button = new ArrayList();
	/**
	 * content内容
	 */
	private JSONObject content;
	/**
	 * 消息类型
	 */
	private String repType;
	/**
	 * 消息名
	 */
	private String repName;
    /**
     * Text:保存文字
     */
    private String repContent;
	/**
	 * 视频和音乐的描述
	 */
	private String repDesc;
	/**
	 * 视频和音乐的描述
	 */
	private String repUrl;
	/**
	 * 高质量链接
	 */
	private String repHqUrl;
	/**
	 * 缩略图的媒体id
	 */
	private String repThumbMediaId;
	/**
	 * 缩略图url
	 */
	private String repThumbUrl;

}
